
<?php

/*
 <!--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Autor: Jordan Campos Delgado
Fecha: 05/07/2012
Descripci�n: Modelo para las consultas y transacciones de remesas.
Bitacora de modificaciones:
    <
    Autor: 
    Fecha: 
    Descripci�n: 
    >
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////-->

 */

require_once 'dataModelo.php';
require_once '../controladores/dataControlador.php';

function buscarTodasRemesas(){
    
   
    
         $rs = odbc_exec(conexion(), "select * from dbo.FUN002TodasRemesas() order by CAST(SUBSTRING(CodRemesa,4,5) AS INT) desc");
            $items=Array(); 
                   
            while (odbc_fetch_row($rs)){
                $item['CodRemesa']=odbc_result($rs,"CodRemesa");
                $item['UsuarioCreacion']=odbc_result($rs,"UsuarioCreacion");
                //$fechaCreacion=date_parse(odbc_result($rs,"Fecha"));
                //$item['Fecha']=$fechaCreacion['day'].'/'.$fechaCreacion['month'].'/'.$fechaCreacion['year'];
                $item['Fecha']=fechaAplicacionToVista(odbc_result($rs,"Fecha"));
                $item['MontoPagar']=odbc_result($rs,"MontoPagar");
                $item['DataAreaId']=odbc_result($rs,"DataAreaId");
                $item['NomCompannia']=odbc_result($rs,"NAME");
                $item['Moneda']=odbc_result($rs,"Moneda");
                $item['Aprobada']=odbc_result($rs,"Aprobada");
                                      
                array_push($items,$item);
            }
        odbc_close(conexion());
        return $items;
    }
    
    
function buscarConsultaXRemesa($CodRemesa){
   
         $rs = odbc_exec(conexion(), "select * from dbo.FUN003ConsultaXRemesa('".$CodRemesa."') ORDER BY OrdenCompra desc");
            $items=Array();
                   
            while (odbc_fetch_row($rs)){
                $item['CodRemesa']=odbc_result($rs,"CodRemesa");
                $item['Proveedor']=odbc_result($rs,"Proveedor");
                $item['Factura']=odbc_result($rs,"Factura");
                $item['Nombre']=odbc_result($rs,"Nombre");
                $item['Debito']=odbc_result($rs,"Debito");
                $item['OrdenCompra']=odbc_result($rs,"OrdenCompra");
                $item['Moneda']=odbc_result($rs,"Moneda");
                $item['DataAreaId']=odbc_result($rs,"DataAreaId");
                $item['CIA']=odbc_result($rs,"CIA");
                                      
                array_push($items,$item);
            }
        odbc_close(conexion());
        return $items;
    }    
     

            
    
function buscarFacturasXPagar($Moneda,$DataAreaId,$FecInicio,$FecFinal,$UsuarioSelected){
    
try {
    require_once('FirePHPCore/FirePHP.class.php');
    $firephp = FirePHP::getInstance(true);
    
    if($Moneda == null){$Moneda="CRC";}
    if($DataAreaId == null){$DataAreaId="001";}
    if($FecInicio == null){$FecInicio="20121115";} // Fecha de inicio de uso de aplicacion
    if($FecFinal == null){$FecFinal="29990101";}
    if($UsuarioSelected==null){$UsuarioSelected=$_SESSION["s_username"];}
    //$UsuarioSelected='dmayo';
    
    
        /*$select = "
        select distinct
		VT.ACCOUNTNUM Proveedor,
		VT.NAME Nombre,
		VIJ.INVOICEID Factura,
		VIJ.INVOICEAMOUNT Debito,
		VIJ.PURCHID OrdenCompra,
		VIJ.CURRENCYCODE Moneda,
		VIJ.DATAAREAID DataAreaId,
		DT.NAME CIA 
        from VENDINVOICEJOUR VIJ			-- Facturas Proveedores
		   INNER JOIN VENDTRANS VTR		--Se liga con la VenTrans para obtener el usuario registra la factura
			ON VIJ.ORDERACCOUNT =  VTR.ACCOUNTNUM
                        AND VTR.INVOICE = VIJ.INVOICEID
                        AND VTR.DATAAREAID = VIJ.DATAAREAID
                        AND VTR.TRANSTYPE = '3'
                        AND VTR.CREATEDBY = isnull( '".$UsuarioSelected."', VTR.CREATEDBY)
                        AND VIJ.INVOICEDATE >= '".$FecInicio."'
                        AND VIJ.INVOICEDATE <= '".$FecFinal."'
		   INNER JOIN VENDTABLE VT 
			ON VT.ACCOUNTNUM = VIJ.ORDERACCOUNT
                        AND VT.DATAAREAID = 'CRC'		-- Siempre es CRC ya que es una tabla de proveedores compartida
		   INNER JOIN DATAAREA DT
			ON DT.ID = VIJ.DATAAREAID
        where 
		VIJ.DATAAREAID = '".$DataAreaId."' 
		AND VIJ.CURRENCYCODE like '%".$Moneda."%'
		AND VIJ.PAYMENT not like '%Caj%'	-- Se excluye los movimientos de caja chica
		AND VIJ.INVOICEAMOUNT > 0		-- Se excluye los creditos
		AND VIJ.ORDERACCOUNT <>'00563'		--Se excluye el proveedor Fertica S.A
		AND VIJ.PURCHASETYPE = 3
		AND  NOT EXISTS 
                    (SELECT Factura 
                        FROM AXPLUS.dbo.RemesaDetalles 
                        WHERE Moneda like '%".$Moneda."%'
                        AND OrdenCompra = VIJ.PURCHID
                        AND Proveedor = VT.ACCOUNTNUM
                        AND Factura = VIJ.INVOICEID)
                   
		ORDER BY VT.NAME,VIJ.INVOICEID";*/
    
        $select = "select * from dbo.FUN004FacturasPendienteXRemesar('".$UsuarioSelected."','".$Moneda."','".$DataAreaId."','".$FecInicio."','".$FecFinal."') ORDER BY OrdenCompra";
       $firephp->log($select,'$select');
       
         $rs = odbc_exec(conexion(), $select);
         
            $items=Array();
                   
            while (odbc_fetch_row($rs)){
                $item['Proveedor']=odbc_result($rs,"Proveedor");
                $item['Nombre']=odbc_result($rs,"Nombre");
                $item['Factura']=odbc_result($rs,"Factura");
                $item['Debito']=odbc_result($rs,"Debito");
                $item['OrdenCompra']=odbc_result($rs,"OrdenCompra");
                $item['Moneda']=odbc_result($rs,"Moneda");
                                      
                array_push($items,$item);
            }
        odbc_close(conexion());
        return $items;
        }
 catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }
}
        
 


function buscarSigCodRemesa(){
    
try {
        
        // $conect=conectar();
         $rs = odbc_exec(conexion(), "select dbo.FUN001SigCodRemesa() as CodRemesaSig");
         
            $items=Array();
                   
            while (odbc_fetch_row($rs)){
                $item['SigCodRemesa']=odbc_result($rs,"CodRemesaSig");
                array_push($items,$item);
            }
        odbc_close(conexion());
        return $items;
        }
 catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }        
        
        
    }  
    
    /*Funcion para agregar Embalaje*/
    function agregarRemesa($CodRemesa,$Usuario,$today,$Moneda,$Monto,$Compania,$Impresa="N"){        
       try {
           require_once('FirePHPCore/FirePHP.class.php');
    $firephp = FirePHP::getInstance(true);
        
        $insert="exec SP001InsertaRemesas '$CodRemesa','$Usuario','$today','$Moneda',$Monto,'$Compania','$Impresa'";
         // require '../controladores/conexionAXPLUS.php';
         //$conect=conectar();
        $firephp->log($insert,'$insert');
        if (!odbc_exec(conexion(),$insert))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close(conexion());
        
         }
 catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }    
    }
    
    function agregarRemesaDetalle($CodRemesa, $Factura, $OrdenCompra, $Proveedor, $Moneda, $Debito) {
        try{
            $Debito=str_replace(",","", $Debito);
            $insert="exec SP002InsertaRemesaDetalle '$CodRemesa','$Factura','$OrdenCompra','$Proveedor','$Moneda',$Debito";
                 
          
            if (!odbc_exec(conexion(),$insert))
            {
                die('Error: ' . odbc_error());
            }
            odbc_close(conexion());
            }
        catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }    
    } 
    
   
    
    function eliminaFacturasXRemesa($CodRemesa) {
        try{
            
            $delete="delete RemesaDetalles where CodRemesa = '$CodRemesa'";
                 
          
            if (!odbc_exec(conexion(),$delete))
            {
                die('Error: ' . odbc_error());
            }
            odbc_close(conexion());
            return true;
            }
        catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }    
    }

    function eliminarRemesa($CodRemesa) {
        try{
            
            $delete="delete Remesas where CodRemesa = '$CodRemesa'";
                 
          
            if (!odbc_exec(conexion(),$delete))
            {
                die('Error: ' . odbc_error());
            }
            odbc_close(conexion());
            }
        catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }    
    }
    
    function aprobarRemesa($CodRemesa){
         try{
            
            $update="update Remesas set Aprobada = 'S' where CodRemesa = '$CodRemesa'";
                 
          
            if (!odbc_exec(conexion(),$update))
            {
                die('Error: ' . odbc_error());
            }
            odbc_close(conexion());
            }
        catch (Exception $e) {
        //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
        require 'paginaPrincipal.php?accion=paginaPrincipal';

        }  
        
    }
    
    function buscarAprobacionXRemesa($CodRemesa) {
    try{
        $Aprobada="";
         $rs = odbc_exec(conexion(), "select Aprobada from Remesas where CodRemesa = '$CodRemesa'");

        $items=Array();
                   
            while (odbc_fetch_row($rs)){
                $Aprobada=odbc_result($rs,"Aprobada");
                //array_push($items,$item);
            }
        odbc_close(conexion());
        if ($Aprobada=='S'){
            return true;
        }
        else            
            return false;
    }
    catch (Exception $e) {
    //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
    require 'paginaPrincipal.php?accion=paginaPrincipal';

    }    
}

function cargarUsuarios() {
    try {
        
   
   
  
    //$con = new conexionBD('localhost','NumarProd','sa','patito035');
    
    $rs = odbc_exec(conexion_AX(), "select 
                                        ID,NETWORKALIAS, 
                                        NAME 
                                    from USERINFO 
                                    where NETWORKALIAS = 'dmayorga' 
                                        or NETWORKALIAS = 'ssarmiento' 
                                        or NETWORKALIAS = 'evasquez' 
                                        or NETWORKALIAS = 'ajimenez'
                                        or NETWORKALIAS = 'rpfeiffer'");
    $usuarios=Array();
    
    while (odbc_fetch_row($rs)){
       
        $usuario['UserName']=odbc_result($rs,"NETWORKALIAS");
        $usuario['ID']=odbc_result($rs,"ID");
        $usuario['Nombre']=odbc_result($rs,"NAME");
        array_push($usuarios,$usuario);
    }    
    //cerrar conexion
    odbc_close(conexion_AX());
    
    return $usuarios;
    
    
    }
    catch (Exception $e) {
    //echo 'Excepci�n capturada: ',  $e->getMessage(), "\n";
    require 'paginaPrincipal.php?accion=paginaPrincipal';

    }   
  
} 
